Filesystems and namespaces
#Linux_System_Programming
ファイルシステムと名前空間
Unix/LinuxはWindowsと異なりファイルやディレクトリのグローバルで統一された名前空間を持つ
cf. WIndowsは異なるドライブに割り当てたりする
ファイルシステムを名前空間に付け加えたり取り除いたりする
それをマウントやアンマウントという
/にマウントされるファイルシステムをroot filesystemという
ファイルシステムは物理的なディスクでもいいしメモリ上の仮想システムでも良いしネットワークファイルシステムも許される
物理ファイルシステムのある種のものはpartionableであり、複数のファイルシステムに分けることができる
ブロックデバイスの最小アクセス単位はsectorと呼ばれる
512bitが多い
似たようなもので、ファイルシステム上で論理的にアクセス可能な最小単位はブロック(block)と呼ばれる
Linuxではブロックはsectorよりは大きいがページサイズよりは小さい
512byte, 1KiB, 4KiBのブロックがよくある
Unixは単一の名前空間をシェアしているが、Linuxはper-process namespaces(プロセスごとの名前空間)という革命的なアプローチをとった
デフォルトでは親プロセスの名前空間を引き継ぐが、プロセスはそれ自身の名前空間、それ自身のマウントポイントや独自のルートディレクトリを持つこともできる